Use the interactive map below to check population changes. Zoom in to see where Podocnemis unilfilis is Endangered based on IUCN Red List criteria - A3bd.
This is an extension of Norris et. al. 2019 that includes:
- Stochastic population projections.
- Future impacts to populations caused by human acessibility (hunting and habitat change) and actions that reduce river connectivity.
Map
Due to the number of points, the map can become slow to respond when you zoom in. Zoom out to a level showing fewer points and you can pan around the map to find the area of interest. Then zoom in again to check the coloured points.
When you zoom in you will see shaded points. The points follow rivers produced by remote sensing (Free-Flowing Rivers, 2019: https://doi.org/10.1038/s41586-019-1111-9) The points are brown where populations are predicted to decline by 50% or more within 3 generations (42 years). Brown points therefore represent rivers where the species is Endangered, following the IUCN Red List population size reduction criteria - A3bd (https://www.iucnredlist.org/about/faqs).
Summaries
A summary of the results is presented below. This includes summaries by country and major basin.
Summary by country.
| Country | Population change | Endangered (prop) | river length (km) | length End. | length not End. |
|---|---|---|---|---|---|
| Bolivia | -0.576 | 0.70 | 22217 | 15516 | 6701 |
| Brazil | -0.626 | 0.74 | 190555 | 141183 | 49372 |
| Colombia | -0.483 | 0.63 | 38552 | 24122 | 14430 |
| Ecuador | -0.781 | 0.85 | 8302 | 7066 | 1236 |
| French Guiana | -0.480 | 0.63 | 3298 | 2082 | 1216 |
| Guyana | -0.249 | 0.45 | 7372 | 3311 | 4061 |
| Peru | -0.684 | 0.78 | 47363 | 36750 | 10613 |
| Suriname | -0.261 | 0.46 | 5756 | 2643 | 3113 |
| Venezuela | -0.383 | 0.56 | 30022 | 16714 | 13308 |
| Total | 353437 | 249387 | 104050 |
Summary by basin.
Using results from updated Norris et. al. 2019.
| Basin | Endangered (prop) | river length (km) | length End. | length not End. |
|---|---|---|---|---|
| Amazon | 0.77 | 170905 | 131958 | 38947 |
| Coastal North | 0.68 | 12700 | 8626 | 4074 |
| Coastal South | 1.00 | 5711 | 5711 | 0 |
| Orinoco | 0.70 | 26533 | 18677 | 7856 |
Same using Free-flowing rivers data.
| Basin | population change | river length (km) | length End. | length not End. |
|---|---|---|---|---|
| Amazon | 0.72 | 280121 | 202508 | 77613 |
| Coastal North | 0.52 | 20835 | 10879 | 9956 |
| Coastal South | 1.00 | 6467 | 6467 | 0 |
| Orinoco | 0.64 | 46014 | 29533 | 16481 |
Summary by major basins and countries.
| Basin | Country | Endangered (prop) | river length (km) | length End. | length not End. |
|---|---|---|---|---|---|
| Amazon | Bolivia | 0.91 | 18739 | 17098 | 1641 |
| Amazon | Brazil | 0.74 | 116106 | 85750 | 30356 |
| Amazon | Colombia | 0.54 | 7769 | 4229 | 3540 |
| Amazon | Ecuador | 0.95 | 3330 | 3176 | 154 |
| Amazon | Guyana | 1.00 | 299 | 299 | 0 |
| Amazon | Peru | 0.91 | 23447 | 21304 | 2143 |
| Amazon | Venezuela | 0.08 | 1215 | 102 | 1113 |
| Coastal North | Brazil | 0.76 | 1681 | 1279 | 402 |
| Coastal North | French Guiana | 0.76 | 1833 | 1390 | 443 |
| Coastal North | Guyana | 0.68 | 4376 | 2973 | 1403 |
| Coastal North | Suriname | 0.54 | 3908 | 2103 | 1805 |
| Coastal North | Venezuela | 0.98 | 902 | 881 | 21 |
| Coastal South | Brazil | 1.00 | 5711 | 5711 | 0 |
| Orinoco | Colombia | 0.69 | 10268 | 7037 | 3231 |
| Orinoco | Venezuela | 0.72 | 16265 | 11640 | 4625 |
Same with Free-flowing rivers…..plot results
# Make summaries
tab_sum <- points_bau_ffr |>
dplyr::mutate(flag_EN = if_else(fem_diff_t42 <= -0.5, 1, 0)) |>
dplyr::group_by(COUNTRY, BASIN_NAME) |>
dplyr::summarise(pop_start = sum(fem_t0),
pop_end = sum(fem_t42),
pop_change = round(((sum(fem_t42) - sum(fem_t0)) / sum(fem_t0)), 3),
diff_mean = mean(fem_diff_t42),
change_lcl_95 = Hmisc::smean.cl.boot(fem_diff_t42)["Lower"],
change_ucl_95 = Hmisc::smean.cl.boot(fem_diff_t42)["Upper"],
diff_median = median(fem_diff_t42),
diff_q25 = quantile(fem_diff_t42, probs = 0.25),
diff_q75 = quantile(fem_diff_t42, probs = 0.75),
length_river = n(),
length_endangered = sum((flag_EN))) |>
dplyr::ungroup() |>
dplyr::mutate(proportion_endangered = round((length_endangered / length_river), 2),
length_label = round((length_river / 1000), 1)
) |>
dplyr::mutate(threat_status = case_when(diff_mean <= -0.8 ~ "Critically Endangered",
diff_mean <= -0.5 ~ "Endangered",
diff_mean <= -0.3 ~ "Vulnerable",
diff_mean <= -0.2 ~ "Near Threatened"))
#> `summarise()` has grouped output by 'COUNTRY'. You can override using the
#> `.groups` argument.
tab_sum$bc <- factor(paste(tab_sum$BASIN_NAME, tab_sum$COUNTRY, sep = "\n"))
levels(tab_sum$bc)
#> [1] "Amazon\nBolivia" "Amazon\nBrazil"
#> [3] "Amazon\nColombia" "Amazon\nEcuador"
#> [5] "Amazon\nGuyana" "Amazon\nPeru"
#> [7] "Amazon\nVenezuela" "Coastal North\nBrazil"
#> [9] "Coastal North\nFrench Guiana" "Coastal North\nGuyana"
#> [11] "Coastal North\nSuriname" "Coastal North\nVenezuela"
#> [13] "Coastal South\nBrazil" "Coastal South\nFrench Guiana"
#> [15] "Orinoco\nBrazil" "Orinoco\nColombia"
#> [17] "Orinoco\nGuyana" "Orinoco\nVenezuela"
# Plot
# check where these errors come from -
# Orinoco in Brazil, Orinoco in Guyana, Coastal South in French Guiana.
fig_left <- tab_sum |>
filter(length_river > 21) |>
droplevels() |>
filter(BASIN_NAME %in% c("Amazon", "Coastal North")) |>
ggplot(aes(x = COUNTRY, y = pop_change)) +
annotate(xmin=-Inf, xmax=Inf, ymin = -0.2, ymax = -0.3,
fill="#F6DABF", geom = 'rect', alpha=0.4) +
annotate(xmin=-Inf, xmax=Inf, ymin = -0.3, ymax = -0.5,
fill="#DEB688", geom = 'rect', alpha=0.4) +
annotate(xmin=-Inf, xmax=Inf, ymin = -0.5, ymax = -0.8,
fill="#C09355", geom = 'rect', alpha=0.4) +
annotate(xmin=-Inf, xmax=Inf, ymin = -0.8, ymax = -1,
fill="#A3720E", geom = 'rect', alpha=0.4) +
geom_col(aes(fill = COUNTRY)) +
geom_errorbar(aes(ymax = change_ucl_95, ymin = change_lcl_95),
width = 0.2) +
geom_label(aes(x = COUNTRY, y = 0.2, label = length_label)) +
scale_fill_grey() +
facet_wrap(~BASIN_NAME, scales = "free_x", nrow = 2) +
theme_bw() +
labs(y = "Population change", x = "") +
#theme(legend.position = "bottom")
guides(fill = "none")
fig_right <- tab_sum |>
filter(length_river > 21) |>
droplevels() |>
filter(BASIN_NAME %in% c("Coastal South", "Orinoco")) |>
ggplot(aes(x = COUNTRY, y = pop_change)) +
annotate(xmin=-Inf, xmax=Inf, ymin = -0.2, ymax = -0.3,
fill="#F6DABF", geom = 'rect', alpha=0.4) +
annotate(xmin=-Inf, xmax=Inf, ymin = -0.3, ymax = -0.5,
fill="#DEB688", geom = 'rect', alpha=0.4) +
annotate(xmin=-Inf, xmax=Inf, ymin = -0.5, ymax = -0.8,
fill="#C09355", geom = 'rect', alpha=0.4) +
annotate(xmin=-Inf, xmax=Inf, ymin = -0.8, ymax = -1,
fill="#A3720E", geom = 'rect', alpha=0.4) +
geom_col(aes(fill = COUNTRY)) +
geom_errorbar(aes(ymax = change_ucl_95, ymin = change_lcl_95),
width = 0.2) +
geom_label(aes(x = COUNTRY, y = 0.2, label = length_label)) +
scale_fill_grey() +
facet_wrap(~BASIN_NAME, scales = "free_x", nrow = 2) +
theme_bw() +
labs(y = "", x = "") +
#theme(legend.position = "bottom")
guides(fill = "none")
# put together
fig_left + fig_right + plot_layout(widths = c(3, 1))
Table showing data values used in graph.
| Basin | Country | population change | river length (km) |
|---|---|---|---|
| Amazon | Bolivia | -0.576 | 22217 |
| Amazon | Brazil | -0.616 | 180434 |
| Amazon | Colombia | -0.352 | 18687 |
| Amazon | Ecuador | -0.781 | 8302 |
| Amazon | Guyana | -0.982 | 423 |
| Amazon | Peru | -0.684 | 47363 |
| Amazon | Venezuela | 0.069 | 2695 |
| Coastal North | Brazil | -0.516 | 3653 |
| Coastal North | French Guiana | -0.480 | 3297 |
| Coastal North | Guyana | -0.202 | 6928 |
| Coastal North | Suriname | -0.261 | 5756 |
| Coastal North | Venezuela | -0.590 | 1201 |
| Coastal South | Brazil | -0.973 | 6466 |
| Orinoco | Colombia | -0.606 | 19865 |
| Orinoco | Venezuela | -0.420 | 26126 |
Next steps
- Update using points from Free Flowing Rivers
https://www.worldwildlife.org/pages/free-flowing-rivers